package com.example.spindrift.dao;

import com.example.spindrift.models.SysFile;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

@Mapper
public interface SysFileMapper {
    /**
     * 获取所有文件详情
     * @return
     */
    List<SysFile> getAllFile();

    /**
     * 根据文件类型筛选文件信息
     * @param type 文件类型
     * @return
     */
    List<SysFile> getFileByType(String type);

    /**
     * 根据文件名称搜索文件信息
     * @param keyword 文件名称关键字
     * @return
     */
    List<SysFile> searchFile(String keyword);

    /**
     * 根据文件名称获取文件信息
     * @param fileName 文件名称
     * @return
     */
    List<SysFile> getFileByName(String fileName);

    /**
     * 根据文件ID获取文件详情
     * @param file_id 文件ID
     * @return
     */
    SysFile getFileById(Integer file_id);

    /**
     *添加一条文件信息
     * @param file 文件信息
     * @return
     */
    Integer insertFile(SysFile file);

    /**
     * 编辑一条文件信息
     * @param file 编辑后的文件信息
     * @return
     */
    Integer updateFile(SysFile file);

    /**
     * 根据文件ID删除一条文件记录
     * @param file_id 文件ID
     * @return
     */
    Integer deleteFile(Integer file_id);
}
